package br.com.formulavendas.domainmodel;
// default package

import java.util.List;

import javax.persistence.Column;
import javax.persistence.ElementCollection;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

import br.com.formulavendas.domainmodel.Contato;


/**
 * Unidade entity. @author MyEclipse Persistence Tools
 */
@Entity
@Table (name="unidade")
public class Unidade 
	extends EntityBase
	{

    // Constructors

  	private static final long serialVersionUID = 1L;

	/** default constructor */
    public Unidade() {
    }

    @Id  
	@SequenceGenerator(name="unidade_id_seq", sequenceName="unidade_id_seq", allocationSize=1)  
	@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="unidade_id_seq") 
    private Integer id;
    private String nome;
    private String descricao;
    private String cnpj;
    
    @ManyToOne
    @JoinColumn(name="id_endereco")   
    private Endereco endereco;
    
    @Column
    @ElementCollection(targetClass=Contato.class)
    private List<Contato> contatos;
    
    /**
	 * @return the id
	 */
	public Integer getId() {
		return id;
	}
	/**
	 * @param id the id to set
	 */
	public void setId(Integer id) {
		this.id = id;
	}

	/**
	 * @return the nome
	 */
	public String getNome() {
		return nome;
	}

	/**
	 * @param nome the nome to set
	 */
	public void setNome(String nome) {
		this.nome = nome;
	}

	/**
	 * @return the descricao
	 */
	public String getDescricao() {
		return descricao;
	}

	/**
	 * @param descricao the descricao to set
	 */
	public void setDescricao(String descricao) {
		this.descricao = descricao;
	}

	/**
	 * @return the cnpj
	 */
	public String getCnpj() {
		return cnpj;
	}

	/**
	 * @param cnpj the cnpj to set
	 */
	public void setCnpj(String cnpj) {
		this.cnpj = cnpj;
	}

	/**
	 * @return the endereco
	 */
	public Endereco getEndereco() {
		return endereco;
	}

	/**
	 * @param endereco the endereco to set
	 */
	public void setEndereco(Endereco endereco) {
		this.endereco = endereco;
	}
	/**
	 * @return the contatos
	 */
	public List<Contato> getContatos() {
		return contatos;
	}
	/**
	 * @param contatos the contatos to set
	 */
	public void setContatos(List<Contato> contatos) {
		this.contatos = contatos;
	}   
}
